home *** CD-ROM | disk | FTP | other *** search
- 5 .li1,4,0
- 10 .ba 49152 ;startadresse
- 20 .gl irqvec = $0314 ;irq-vektor
- 30 .gl irqalt = $ea31 ;alte irq-routine
- 40 .gl vic = $d000 ;basisadresse des vic
- 50 .gl irqmask= vic+26 ;irqmaskenregister
- 60 .gl irqflag= vic+25 ;irq-requestregister
- 70 .gl raster = vic+18 ;rasterzeilenregister
- 80 .gl border = vic+32 ;rahmenfarbe-register
- 90 .gl oben = 100 ;obere rasterzeile
- 100 .gl unten = 200 ;untere rasterzeile
- 110 .gl hibit = vic+17 ;bit 8 der rasterzeilennummer
- 120 .gl ciatime= $dc0e ;timer a steuerregister
- 130 ;
- 200 init sei;irq sperren
- 210 lda#oben;irq fuer rasterzeile 100
- 220 staraster
- 230 ldahibit;bit 8 loeschen
- 240 and#127
- 250 stahibit
- 260 lda#129;irq maskieren
- 270 stairqmask;raster-irq
- 280 lda#<(irqneu);irq-vektor auf neue
- 290 ldx#>(irqneu);irq-routine stellen
- 300 stairqvec
- 310 stxirqvec+1
- 320 ldaciatime;timer a stoppen
- 330 and#254
- 340 staciatime
- 350 cli;irq wieder zulassen
- 360 rts;und zurueck...
- 370 ;
- 380 deinit sei;irq sperren
- 390 lda#0;irq-maskenregister
- 400 stairqmask;loeschen
- 410 ldaciatime;timer a wieder starten
- 420 ora#1
- 430 staciatime
- 440 lda#<(irqalt);irq-vektor wieder auf
- 450 ldx#>(irqalt);alte irq-routine stellen
- 460 stairqvec
- 470 stxirqvec+1
- 480 cli;irq wieder zulassen
- 490 lda#14;normale rahmenfarbe
- 500 staborder;einschalten
- 510 rts;und zurueck...
- 520 ;
- 530 irqneu ldairqflag;vic-irq-flags lesen
- 540 stairqflag;und wieder schreiben
- 550 ;
- 560 vicirq ldaraster;rasterzeilenregister lesen
- 570 cmp#unten;groesser/gleich 200 ?
- 580 bcsoldcolor;ja, dann alte ramenfarbe
- 590 ;
- 600 newcolor lda#6;sonst neue rahmenfarbe
- 610 staborder
- 620 lda#unten;naechster irq bei zeile 200
- 630 staraster
- 640 ;
- 650 irqreturn pla;register zurueckholen
- 660 tay
- 670 pla
- 680 tax
- 690 pla
- 700 rti;und mit rti zurueck...
- 710 ;
- 720 oldcolor lda#14;alte ramenfarbe
- 730 staborder
- 740 lda#oben;naechster irq bei zeile 100
- 750 staraster
- 760 jmpirqalt;und zur alten irq-routine...
- 60000 .en
-